home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
- #include <clib/alib_protos.h>
- #include <clib/dos_protos.h>
- #include <exec/types.h>
- #include <intuition/imageclass.h>
- #include <intuition/gadgetclass.h>
- #include <intuition/intuition.h>
- #include <clib/exec_protos.h>
- #include <clib/intuition_protos.h>
- #include "chunkyiclass.h"
-
-
- BOOL initialize (void);
- void finalize (void);
- void event_loop (void);
-
-
- struct Library *IntuitionBase;
-
- struct Window *win;
- struct DrawInfo *dri;
- Class *cl;
- struct Image *img;
-
-
- UBYTE calm_data[] = {
- 0,16, 0,14,
- 0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,
- 0,0,0,1,1,2,2,2,2,2,2,1,1,0,0,0,
- 0,0,1,2,2,2,2,2,2,2,2,2,2,1,0,0,
- 0,1,2,2,2,2,2,2,2,2,2,2,2,2,1,0,
- 0,1,2,2,2,1,1,2,2,1,1,2,2,2,1,0,
- 1,2,2,2,2,1,1,2,2,1,1,2,2,2,2,1,
- 1,2,2,2,2,1,1,2,2,1,1,2,2,2,2,1,
- 1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,
- 1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,
- 0,1,2,2,2,1,2,2,2,2,1,2,2,2,1,0,
- 0,1,2,2,2,2,1,1,1,1,2,2,2,2,1,0,
- 0,0,1,2,2,2,2,2,2,2,2,2,2,1,0,0,
- 0,0,0,1,1,2,2,2,2,2,2,1,1,0,0,0,
- 0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0
- };
-
- UBYTE scared_data[] = {
- 0,16, 0,14,
- 0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,
- 0,0,0,1,1,2,2,2,2,2,2,1,1,0,0,0,
- 0,0,1,2,2,2,2,2,2,2,2,2,2,1,0,0,
- 0,1,2,2,2,1,1,2,2,1,1,2,2,2,1,0,
- 0,1,2,2,1,2,2,2,2,2,2,1,2,2,1,0,
- 1,2,2,2,2,1,1,2,2,1,1,2,2,2,2,1,
- 1,2,2,2,2,1,1,2,2,1,1,2,2,2,2,1,
- 1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,
- 1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,
- 0,1,2,2,2,2,1,1,1,1,2,2,2,2,1,0,
- 0,1,2,2,2,1,1,1,1,1,1,2,2,2,1,0,
- 0,0,1,2,2,2,2,2,2,2,2,2,2,1,0,0,
- 0,0,0,1,1,2,2,2,2,2,2,1,1,0,0,0,
- 0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0
- };
-
- ULONG img_palette[] = {
- 2,
- 0x00000000, 0x00000000, 0x00000000,
- 0xEEEEEEEE, 0xDDDDDDDD, 0x00000000
- };
-
-
- void
- main (void)
- {
- if (initialize ())
- event_loop ();
- finalize ();
- }
-
- void
- event_loop (void)
- {
- struct IntuiMessage *msg;
- BOOL done = FALSE;
-
- while (!done)
- {
- WaitPort (win->UserPort);
- while (msg = (struct IntuiMessage *)GetMsg (win->UserPort))
- {
- if (msg->Class == IDCMP_CLOSEWINDOW)
- done = TRUE;
- ReplyMsg ((struct Message *)msg);
- }
- }
- }
-
- BOOL
- initialize (void)
- {
- if (IntuitionBase = OpenLibrary ("intuition.library", 37L))
- {
- win = OpenWindowTags (NULL,
- WA_Width, 72,
- WA_Height, 54,
- WA_Title, "chynkyiclass",
- WA_Activate, TRUE,
- WA_DragBar, TRUE,
- WA_DepthGadget, TRUE,
- WA_CloseGadget, TRUE,
- WA_IDCMP, IDCMP_CLOSEWINDOW,
- TAG_DONE);
- if (win)
- {
- dri = GetScreenDrawInfo (win->WScreen);
- if (cl = init_chunkyiclass ())
- {
- img = (struct Image *)NewObject (cl, NULL,
- IA_Data, calm_data,
- CHUNKYIA_SelectedData, scared_data,
- CHUNKYIA_Palette, img_palette,
- CHUNKYIA_Screen, win->WScreen,
- TAG_DONE);
- if (img)
- {
- DrawImageState (win->RPort, img, 20, 20, IDS_NORMAL, NULL);
- DrawImageState (win->RPort, img, 36, 20, IDS_SELECTED, NULL);
-
- return TRUE;
- }
- }
- }
- }
-
- return FALSE;
- }
-
- void
- finalize (void)
- {
- if (img)
- DisposeObject (img);
- if (cl)
- free_chunkyiclass (cl);
- if (dri)
- FreeScreenDrawInfo (win->WScreen, dri);
- if (win)
- CloseWindow (win);
- if (IntuitionBase)
- CloseLibrary (IntuitionBase);
- }
-